Term Frequency-Inverse Document Frequency
Term Frequency-Inverse Document Frequency
개요
Term Frequency-Inverse Document Frequency(TF-IDF)는 자연어처리(NLP) 및 정보 검색 분야에서 텍스트 데이터 내 단어의 중요도를 정량적으로 평가하기 위해 널리 사용되는 통계적 측정 방식입니다. TF-IDF는 특정 단어가 하나의 문서 안에서 얼마나 자주 등장하는지(Term Frequency, TF)와 동시에 전체 문서 집합(corpus)에서 얼마나 희귀한지(Inverse Document Frequency, IDF)를 결합하여 각 단어의 상대적 중요성을 계산합니다.
이 기법은 검색 엔진, 텍스트 마이닝, 문서 분류, 키워드 추출 등 다양한 응용 분야에서 핵심적인 역할을 하며, 단순한 빈도 기반 표현을 넘어서 의미 있는 정보를 추출하는 데 기여합니다.
TF-IDF의 구성 요소
TF-IDF는 두 가지 요소의 곱으로 정의됩니다:
TF-IDF(t, d) = TF(t, d) × IDF(t)
여기서:
- t는 특정 단어(term)
- d는 특정 문서(document)
- TF(t, d)는 문서 d에서 단어 t의 출현 빈도
- IDF(t)는 전체 문서 집합에서 단어 t의 희귀성(등장 빈도가 낮을수록 값이 큼)
Term Frequency (TF)
Term Frequency는 특정 단어가 한 문서 내에서 얼마나 자주 등장하는지를 나타냅니다. 단순 빈도 외에도 정규화된 형태로 표현되기도 합니다.
가장 일반적인 TF 계산 방식은 다음과 같습니다:
TF(t, d) = (단어 t가 문서 d에 등장한 횟수) / (문서 d의 전체 단어 수)
이러한 정규화는 긴 문서가 인위적으로 높은 빈도를 갖는 것을 방지합니다. 그 외에도 로그 스케일링을 적용한 형태도 사용됩니다:
TF(t, d) = 1 + log(frequency(t, d))
Inverse Document Frequency (IDF)
Inverse Document Frequency는 특정 단어가 전체 문서 집합에서 얼마나 일반적인지를 나타냅니다. 자주 등장하는 단어(예: "그리고", "또는")는 모든 문서에 널리 퍼져 있으므로 중요도가 낮아야 하며, IDF는 이를 반영합니다.
IDF는 다음과 같이 계산됩니다:
IDF(t) = log(전체 문서 수 / (해당 단어를 포함하는 문서 수))
즉, 어떤 단어가 많은 문서에 등장할수록 IDF 값은 작아지고, 드문 단어일수록 값이 커집니다. 로그를 사용하는 이유는 스케일을 안정화하고 극단적인 값을 완화하기 위해서입니다.
TF-IDF의 예시
다음과 같은 간단한 문서 집합을 예로 들어보겠습니다:
- 문서 1: "자연어 처리는 인공지능의 핵심 기술이다"
- 문서 2: "자연어 처리는 언어의 의미를 이해하는 데 중요하다"
- 문서 3: "기계 학습은 데이터 기반의 인공지능 기술이다"
단어 "자연어"의 TF-IDF 값을 계산해보면:
- TF("자연어", 문서1) = 1 / 7 ≈ 0.143
- DF("자연어") = 2 (문서 1과 2에 등장)
- IDF("자연어") = log(3 / 2) ≈ 0.176
- TF-IDF("자연어", 문서1) ≈ 0.143 × 0.176 ≈ 0.025
반면, 단어 "기계"는 문서 3에서만 등장하므로 IDF 값이 더 높아져 전체 중요도가 상대적으로 더 큽니다.
TF-IDF의 장점과 한계
장점
- 간단하고 해석이 용이함: 계산이 직관적이며 결과를 쉽게 이해할 수 있음
- 기준 없는 가중치 제공: 사전 지식 없이도 단어의 중요도를 자동으로 추정 가능
- 검색 및 분류에 효과적: 특히 문서 간 유사도 계산, 키워드 추출 등에서 강력한 성능
한계
- 의미적 정보 무시: "자동차"와 "차량"처럼 의미는 유사하지만 다른 단어로 처리됨 (동의어 문제)
- 문서 내 단어 간 관계 미반영: 단어의 순서나 문맥을 고려하지 않음
- 희소 표현(Sparse Representation): 대부분의 값이 0인 고차원 벡터 생성 → 저장 및 처리 비용 증가
TF-IDF의 응용 분야
- 검색 엔진: 사용자 쿼리와 문서 간 유사도 계산
- 문서 분류: 벡터 공간 모델 기반 분류기(예: 나이브 베이즈, SVM)의 입력으로 사용
- 키워드 추출: 각 문서에서 TF-IDF 값이 높은 단어를 키워드로 선정
- 문서 요약: 중요한 단어를 기반으로 핵심 문장 추출
- 추천 시스템: 문서 기반 콘텐츠 필터링에서 항목 유사도 산출
관련 기술 및 후속 발전
TF-IDF는 전통적인 텍스트 표현 기법이지만, 최근에는 더 발전된 방법들이 등장했습니다:
- Word2Vec, GloVe: 단어를 밀집 벡터(dense vector)로 표현하여 의미적 유사성 반영
- BERT, Sentence-BERT: 문맥을 고려한 동적 임베딩 제공
- BM25: TF-IDF를 개선한 검색 알고리즘으로, 문서 길이 정규화 등을 추가
하지만 TF-IDF는 여전히 기초적이면서도 강력한 기준점(baseline)으로 사용되며, 특히 계산 자원이 제한적이거나 해석 가능성(interpretability)이 중요한 경우 유용합니다.
참고 자료
- Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
- sklearn.feature_extraction.text.TfidfVectorizer — Scikit-learn 공식 문서
- Jurafsky, D., & Martin, J. H. (2023). Speech and Language Processing (3rd ed.)
관련 문서: Bag of Words, Word Embedding, Vector Space Model, Information Retrieval
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.